package com.dxf.chepter11

/**
 * Akka 是java虚拟机jvm平台上构建高并发,分布式和容错应用的工具包和运行时
 *
 * 可以理解成 Akka是编写并发程序的框架
 *
 * Akka 用scala语言写成,同时提供Scala和java的开发接口
 *
 * Akka 主要解决的问题是: 可以轻松写出高效稳定的并发程序,程序员不再过多考虑线程,锁,资源竞争等细节
 *
 *  =================================================================
 *
 *
 *
 *  Akka中的核心模型 Actor模型  -->可以很好的处理并发编程的一种解决方案
 *
 *  Actor模型说明
 *   1 Akka并发模型 Actor
 *   2 在基于Actor的系统里,所有事物都是Actor
 *   3 Actor模型是作为一个并发模型设计和架构的,Actor于Actor之间只能通过消息通信
 *   4 Actor 与Actor之间只能通过消息进行通信,当一个Actor给另外一个Actor发送消息,消息是有序的(消息队列),只需要将消息投递相应的邮箱即可
 *   5 怎么处理消息是由接受消息的Actor决定的,发送消息的Actor可以等待回复,也可以异步处理
 *   6 ActorSystem的职责是负责创建并管理其创建的Actor  ActorSystem是一个工厂,专门负责创建Actor,一个jvm进程中有一个即可
 *   7 Actor模型是对并发模型进行更高的抽象
 *   8 Actor模型 异步,非阻塞,高性能事件驱动编程模型
 *   9 Actor模型是轻量级事件处理 (1GB 内容可容纳百万级别个Actor),因此处理大并发性能高
 *
 * ========================================
 *
 *  工作机制
 *   1 A Actor 如果想给自己发消息,通过 A ActorRef
 *   2 A Actor 想给B Actor 发消息,需要持有B ActorRel ,通过B ActorRef 发消息
 *   3 B Actor中 receive 方法 用于消息接收和处理, sender方法可以得到发送消息的Actor的ActorRef,通过这个ActorRel ,B Actor也可以回复消息
 *
 *   Actor之间传递消息机制
 *   1 每一个消息 就是一个message对象,Message继承了Runable ,因为Message就是线程类
 *   2 Actor模型工作机制看上去很麻烦,但是程序员只需要编写Actor就可以了,其它交给Actor模型完成即可
 *   4 A Actor要给B Actor发送消息,A要先拿到B 的 ActorRel(代理对象)
 *
 *
 */
object T143_Akka中工作机制 {

}
